<html>
    <meta charset="utf-8"/>
    <head>
       <title>php实现简单计算器</title>
    </head>
    <body>

<?php

//计算时当不输入任何值时为空，所以先判断是否为空，做两个值
      $num1=true;
      $num2=true;

      $numa=true;//判断输入任何类型的数字
      $numb=true;

      $message="";//message为空
     //单路分支
     //先判断一个get表单命名为sub，存在才能提交
     if(isset($_GET["sub"])){
            //判断两个值是否有一个为空
           if($_GET["num1"] == ""){
                  $num1=false;
                  $message="第一个数不能为空";
                  echo $message;
           }

           if(!is_numeric($_GET["num1"])){
           
                   $numa=false;
                   $message="第一个数不是数字";
                  echo $message;
           }

           if($_GET["num2"]==""){
                 $num2=false;
                 $message="第二个数不能为空";
                  echo $message;
           }

          
          if(!is_numeric($_GET["num2"])){          
                 $numb=false;
                $message="第二个数不是数字";
                  echo $message;
           }
      }
      //当num1和num2都不为空（true）时才往下执行
      if($num1 && $num2 &&$numa &&$numb){



     $sum=0;//先声明一个和等于0
     //多路分支switch
     //提交过来以后switch判断运算符是否匹配
     switch($_GET["ysf"]){
     case "+":
                $sum=$_GET["num1"]+$_GET["num2"];
                break;
     case "-":
                $sum=$_GET["num1"]-$_GET["num2"];
                break;
     case "x":
                $sum=$_GET["num1"]*$_GET["num2"];
                break;
     case "/":
                $sum=$_GET["num1"]/$_GET["num2"];
                break;
     case "%":
                $sum=$_GET["num1"]%$_GET["num2"];
                break;
      }

     }//当num1和num2都不为空（true）时才往下执行,到此结束
 
?>

          <!--插入一个表格-->
         <table align="center" border="1" width="500">
               <caption><h1>计算器</h1></caption>
               <!--插入一个表单-->
   <!-- action是提交到哪个文件 ，如果不写就是默认当前文件-->
                <form action="5.php">
                <tr>
                    <td>
                       <!--插入一个文本框输入计算内容-->
                        <input type="text" size="5" name="num1" value="<?php echo $_GET["num1"]?>">
                       
                    </td>
                    <td>
                        <!--加入一个下拉列表运算符-->
        <select name="ysf">
            <option value="+" <?php if ($_GET["ysf"]=="+") echo "select"?>>+</option>
            <option value="-" <?php if ($_GET["ysf"]=="-") echo "select"?>>-</option>
            <option value="x" <?php echo $_GET["ysf"]=="x"? "select":""?>>x</option>
            <option value="/" <?php echo $_GET["ysf"]=="/"? "select":""?>>/</option>
            <option value="%" <?php echo $_GET["ysf"]=="%"? "select":""?>>%</option>
        </select>
                    </td>
                    <td>
                        <input type="text" size="5" name="num2" value="<?php echo $_GET["num2"]?>" > 
                      
                       
                    </td>
                    <td>
                   <!--计算按钮，起名叫提交，按钮名字为计算-->
                        <input type="submit" name="sub" value="计算">
                    </td>

                </tr>
        <?php //计算结果显示
             if(isset($_GET["sub"])){
                 echo '<tr><td colspan="5">';
                    //也是先判断是否为真，再输出结果
                       if($num1 && $num2 &&$numa &&$numb){
                          echo "结果:".$_GET["num1"]."".$_GET["ysf"]."".$_GET["num2"]."=".$sum;
                      }else{
                          echo $message;
                        
                      }
                      echo '</td></tr>';
                  } 

              ?>
                </form>

         </table>
    </body>
</html>